package com.baijia.authentication;

import java.io.Serializable;
import java.util.Date;
import java.util.Map;

import com.baijia.authentication.principal.Principal;

/**
 * @title Authentication
 * @desc 认证结果 包含身份信息以及一些额外信息
 * @author caoliang
 * @date 2015年12月5日
 * @version 1.0
 */
public interface Authentication extends Serializable {

    Principal getPrincipal();

    Date getAuthenticatedDate();

    /**
     * 认证结果的属性，非principal的属性
     * 
     * @return 额外信息
     */
    Map<String, Object> getAttributes();
}
